The present invention relates to a method of operating a communications network, and in particular to a method of controlling the admission of sessions into and across a communications network.
Call or session admission requests are made using component protocols, for example the Session Initiation Protocol (SIP) or a protocol from the H.323 protocol suite, although it would be understood that other protocols are known. H.323, in a Voice over IP (VoIP) example, uses H.225.0 to make an admission request (ARQ), with protocol H.245 being used to negotiate audio parameters that will be used in the sessions. Even if a proprietary protocol is being used, such a request will contain information about the supported and desired Quality of Service parameters—a function of, for example, bandwidth (B) required at bitrate rb, maximum loss supportable for service Im, maximum tolerable delay td and jitter tj. This admission request can be expressed in a generalised form as;ARQ=f(B,rb,Im,td,tj)
This request can be translated into one of many pre-defined 6-bit DSCP (Differentiated Services Code Point) values used in IP/MPLS data packets either at the source of the data, that is within a customer's network or at the Provider Edge (PE) of the network. There are several label distribution protocols that can be used to create and make bindings of labels to forwarding equivalence classes (FEC) in MPLS networks. Examples include BGP (Border Gateway Protocol), RSVP-TE (Resource Reservation Protocol-Traffic Engineering), LDP (Label Distribution Protocol) and TDP (Tag Distribution Protocol). The following discussion will focus on the use of RSVP-TE in this IRF but the principles of the present invention have broader relevance than the message carrying protocols used in a particular embodiment.
FIG. 1 shows a schematic depiction of a conventional MPLS network 100. The MPLS network 100 connects a first customer network 200a to a second customer network 200b. The first customer network 200a comprises a provider edge router 210a which is in communication with a first MPLS network provider edge router 110a. Similarly, the second customer network 200b comprises a provider edge router 210b which is in communication with a second MPLS network provider edge router 110b. The MPLS network 100 further comprises a plurality of provider routers 120 which provide a plurality of routes through the MPLS network from the first MPLS network provider edge router 110a to the second MPLS network provider edge router 110b. In one implementation of MPLS, the ingress provider edge router defines the path that an MPLS-enabled session must take to reach the egress provider edge router. This is called explicit routing, which can be strict or loose. The intelligence is therefore pushed to the provider edge routers in MPLS, where they classify, encapsulate, route and decapsulate sessions using stacked label switching whereas the provider routers (that is a router which act only as a transit router within a network) will only perform label switching.
FIG. 1 further shows an MPLS tunnel which connects the first and second MPLS network provider edge routers 110a, 110b. Once an MPLS tunnel has been created, it will only be used for traffic forwarding by the Interior Gateway Protocols (IGPs) if this is programmed after tunnel setup. When an admission request arrives at a Provider Edge router, admission is granted or denied based on availability of resources, usually availability of bandwidth for the required bitrate, in the network for that session using the DSCP value (which will correspond to the QoS that the service requests). If the MPLS tunnels have been advertised to the Interior Gateway Protocol (IGP) then they can be used for routing the admitted traffic trunk if they meet its QoS requirements. The mapping of the route of the tunnel to the hardware below can change during the course of the session due to changes in the IGP. This is used for temporary resilience in the event of link or router failure and is called Fast Re-Route (FRR). Examples of IGPs are Open Shortest Path First (OSPF), Intermediate System to Intermediate System (IS-IS) and Routing Information Protocol (RIP). OSPF and IS-IS are link state protocols, which means that each node that uses this protocol has a knowledge of the entire topology and link costs of its local network. This property is later used in this IRF.
Bashar et al, “Machine Learning Based Call Admission Control Approaches: A Comparative Study” discloses a technique of estimating the current value of a network parameter that is difficult to measure based on the current measurement of other network parameters based on historical variations of the different parameters.
According to a first aspect of the present invention there is provided a method of operating a communications network, the network comprising a plurality of nodes, a plurality of communications links interconnecting the nodes and a plurality of tunnels, each of the plurality of tunnels comprising one or more of the plurality of communications links, the method comprising the steps of: a) receiving a request to admit a session to the communications network at a requested class of service, the session being routed between the first network node and the second network node; and b) if it is not possible to admit the request at the requested class of service, determining, for each of the plurality of tunnels connecting the first network node to the second network node, if a tunnel can support the requested session at a further class of service with a quality of service equal to or greater than that of the requested class of service.
The method may comprise the further step of: c) accepting the request over a tunnel which has a second class of service but has a quality of service equal to or greater than that of the requested class of service.
Alternatively, the method may comprise the further steps of: d) dividing the request into two or more portions; e) accepting the two or more request portions over one or more tunnels, at one or more different classes of service, such that the two or more request potions have a quality of service equal to or greater than that of the requested class of service: A plurality of request portions may be accepted over the same tunnel with different classes of service. Alternatively, a plurality of request portions may be accepted over different tunnels with the same class of service. One or more of the request portions may be accepted at the requested class of service.
The determination of whether a tunnel can support the requested session at a further class of service with a quality of service equal to or greater than that of the requested class of service may comprise the further steps of: i) creating a datastore, the datastore comprising, for each of the plurality of tunnels connecting a first network node to a second network node, one or more parameter values for a plurality of time intervals over a pre-determined duration; ii) determining the expected performance of the tunnel for the duration of the requested session; iii) determining the impact of admitting the requested session to the sessions already supported by the tunnel; and iv) evaluating the historical performance of the tunnel.
According to a second aspect of the present invention there is provided a network gatekeeper for a network comprising a plurality of nodes, a plurality of communications links interconnecting the nodes and a plurality of tunnels, each of the plurality of tunnels comprising one or more of the plurality of communications links, the gatekeeper being configured, in use, to a) receive a request to admit a session to the communications network at a requested class of service, the session being routed between the first network node and the second network node; and b) determine, for each of the plurality of tunnels connecting the first network node to the second network node, if it is not possible to admit the request at the requested class of service, if a tunnel can support the requested session at a further class of service with a quality of service equal to or greater than that of the requested class of service.